﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.Serialization;
using System.Security.Permissions;
using System.Text;
using T.ServiceComponent.Error;

namespace T.FAS.Runtime.Metadata.Entity.ScheduleJob
{
    /// <summary>
    /// 触发器
    /// </summary>
    [Serializable]
    public class ScheduleTrigger
    {
        public string ID { get; set; }
        public string Code { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public string TriggerGroup { get; set; }
        public TriggerType TriggerType { get; set; }
        public int RepeatCount { get; set; }
        public int RepeatInterval { get; set; }
        public int Priority { get; set; }
        public string CronExpression { get; set; }
        /// <summary>
        /// 生效时间
        /// </summary>
        public DateTime EffectiveTime { get; set; }
        /// <summary>
        /// 执行时间
        /// </summary>
        public DateTime ExecuteTime { get; set; }
        /// <summary>
        /// 失效时间
        /// </summary>
        public DateTime ExpiredTime { get; set; }
        /// <summary>
        /// 调度失败处理策略
        /// </summary>
        public MisfirePolicy MisfirePolicy { get; set; }
        /// <summary>
        /// 延迟执行时间（单位秒）
        /// </summary>
        public int DelayTime { get; set; }
        public bool IsSysDefault { get; set; }
        public string TenantID { get; set; }
        public string Ext1 { get; set; }
        public string Ext2 { get; set; }
        public string Ext3 { get; set; }
        public string Creator { get; set; }
        public DateTime CreateTime { get; set; }
        public string LastModifier { get; set; }
        public DateTime LastModifyTime { get; set; }
    }
}
